Skip to main content

@pexip/hooks

A common collection of reusable logic for react apps

Install

npm install @pexip/hooks

Usage

//Some Component
import React from 'react';

//import hooks from the package like this
import {usePromise} from '@pexip/hooks';

function broadcastResult = (res) => {
console.log(res)
};

export const SomeComponent: React.FC<{}> = () => {
const {error, loading, handleAction: handleSubmitButton} = usePromise(
() => new Promise(resolve => {
setTimeout(() => resolve('foo'), 2000);
}),
broadcastResult,
error => {
if (error) {
throw error;
}
},
);

const ErrorMessage = error ? <p>{error}</p> : null;

return (
<Form onSubmit={handleSubmitButton}>
<Button
type="submit"
disabled={loading}
>
{loading ? 'Loading...' : 'Continue'}
</Button>
<ErrorMessage/>
</Form>
)
};